package jroguelike.main;

/**
 * Created by IntelliJ IDEA.
 * User: aimozg
 * Date: 06.08.11
 * Time: 14:40
 */
public enum Skill {
	HAND_GUNS("Hand guns", "Hnd", "Usage of close-combat ranged weapons (pistols, shotguns)", Attribute.AGILITY),
	RIFLES("Rifles", "Rfl", "Usage of rifles (hunting, assault, sniper)", Attribute.PERCEPTION),
	ENERGY_WEAPONS("Energy weapons", "Ene", "Usage of energy weapons (laser/plasma/gauss) pistols and rifles", Attribute.PERCEPTION),
	BIG_GUNS("Big guns", "Big", "Usage of miniguns and rocket launchers", Attribute.STRENGTH),
	MELEE("Melee", "Mel", "Unarmed combat and melee weapons", Attribute.STRENGTH),
	THROWING("Throwing", "Thr", "Grenades and spears", Attribute.AGILITY),
	MEDICINE("Medicine", "Med", "Healing and general anatomy and physiology knowledge", Attribute.INTELLIGENCE),
	CHEMISTRY("Chemistry", "Chm", "Сreating and identifying chems", Attribute.INTELLIGENCE),
	MECHANICS("Mechanics", "Mec", "Creating, identifying, and repairing mechanisms (most weapons included)", Attribute.INTELLIGENCE),
	ELECTRONICS("Electronics", "Elc", "Creating, identifying, and repairing electronig circuits (energy weapons included)", Attribute.INTELLIGENCE),
	COMPUTERS("Computers", "Com", "Software hacking and programming", Attribute.INTELLIGENCE),
	HI_TECH("Hi-tech", "Hit", "Nuclear and rocket physics, nanotechnology, neurosurgery and other sci-fi stuff", Attribute.INTELLIGENCE),
	SPEECH("Speech", "Spc", "Ability to convince others", Attribute.CHARISMA),
	BARTER("Barter", "Bar", "Affects buying/selling prices", Attribute.CHARISMA),
	SURVIVAL("Survival", "Sur", "Living in wasteland: preserving food, scouting, avoiding encounters", Attribute.ENDURANCE),
	LOCKPICK("Lockpick", "Lck", "Breaking mechanical and electromechanical locks", Attribute.AGILITY),
	EXPLOSIVES("Explosives", "Exp", "Setting and disarming explosives", Attribute.PERCEPTION);
	public static final Skill[] ALL = values();
	public static final int COUNT = ALL.length;
	public final Attribute primaryAttribute;
	public final String longName;
	public final String description;
	public final String shortName;

	Skill(String longName, String shortName, String description, Attribute primaryAttribute) {
		this.longName = longName;
		this.shortName = shortName;
		this.description = description;
		this.primaryAttribute = primaryAttribute;
	}
}
